package com.teacherprofile.common.domain;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.teacherprofile.common.converters.patents.TypeMethodConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.models.auth.In;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.teacherprofile.common.annotation.Excel;
import com.teacherprofile.common.core.domain.BaseEntity;

/**
 * 专利对象 tb_patents
 *
 * @author qvtu
 * @date 2025-05-07
 */
@Data
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
@ExcelIgnoreUnannotated
@ColumnWidth(22)
@HeadRowHeight(16)
@HeadFontStyle(fontHeightInPoints = 12)
@TableName("tb_patents")
public class Patents extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增ID
     */
    private Long id;
    /**
     * 专利名称
     */
    @ExcelProperty(value = "专利名称", index = 2)
    private String patentName;

    /**
     * 发明人列表（张三,李四）
     */
    @ExcelProperty(value = "发明人列表", index = 5)
    private String inventors;

    /**
     * 类型（0.发明专利，1.实用型专利，100.其他）
     */
    @ExcelProperty(value = "类型", converter = TypeMethodConverter.class, index = 3)
    private Integer type;

    /**
     * 申请号/授权号
     */
    @ExcelProperty(value = "申请号/授权号", index = 4)
    private String patentNo;

    /**
     * 授权日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ExcelProperty(value = "授权时间", index = 6)
    private Date grantDate;


    /**
     * 扫描件url
     */
    @ExcelProperty(value = "扫描件url", index = 7)
    private String scannedDocumentsUrl;

    /**
     * 教职工号
     */
    @ExcelProperty(value = "教职工号", index = 1)
    private String userName;


    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名", index = 0)
    private String nickName;


}
